package com.common.utils;

import com.common.StarAppConst.LOGIN_PLATFORM_TYPE;
import com.common.allCommon.StarappApplicationVariable;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.text.TextUtils;

/**
 * Sharepreference通用类
 * 
 * <br>Created 2014-11-10 下午7:28:02
 * @version  V1.7
 * @author   linsj		
 *
 * @see 	 
 * 
 * Copyright(c) 2009-2014, TQ Digital Entertainment, All Rights Reserved
 *
 */
public final class StarAppSharepreferenceUtils {
    
    /**登录Sharepreference集名*/
    private static final String SHARE_LOGIN_TYPE = "share_login_type";
    /**登录Sharepreference值关键字名*/
    private static final String KEY_LOGIN_TYPE = "key_login_type";
    /** 用户绑定手机Sharepreference集名 （KEY为uid，vaule为phone） */
    private static final String SHARE_USER_PHONE = "share_user_phone";
    
    /**
     * 获取登录平台类型
     * 
     * <br>Created 2014-11-11 下午12:02:49
     * @param context   上下文
     * @param iType     登录平台类型
     * @author       linsj
     */
    public static void setLoginPlatformType(Context context, int iType) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(SHARE_LOGIN_TYPE,
                Context.MODE_PRIVATE);
        Editor editor = sharedPreferences.edit();
        editor.putInt(KEY_LOGIN_TYPE, iType);
        editor.commit();
    }
    
    /**
     * 获取登录平台类型
     * 
     * <br>Created 2014-11-11 下午12:03:08
     * @param context   上下文
     * @return          登录平台类型
     * @author       linsj
     */
    public static int getLoginPlatformType(Context context) {
        SharedPreferences share = context.getSharedPreferences(SHARE_LOGIN_TYPE,
                Context.MODE_PRIVATE);
        return share.getInt(KEY_LOGIN_TYPE, 0);
    }
    
    /**
     * 返回是否第三方登录
     * 
     * <br>Created 2014-11-11 下午12:02:23
     * @param context   上下文
     * @return          是否第三方登录
     * @author       linsj
     */
    public static boolean getCurrentThirdPlatformLogin(Context context) {
        int iLoginType = getLoginPlatformType(context);
        return iLoginType > LOGIN_PLATFORM_TYPE.THIRD_PLATFORM_BEGIN_POS
                && iLoginType < LOGIN_PLATFORM_TYPE.THIRD_PLATFORM_END_POS;
    }

    /**
     * 设置缓存用户绑定的手机
     * 
     * <br>Created 2014年11月18日 上午10:29:02
     * @param context
     * @param phone
     * @author       wangds
     */
    public static void setUserPhone(Context context, String phone){
        SharedPreferences sharedPreferences = context.getSharedPreferences(SHARE_USER_PHONE,
                Context.MODE_PRIVATE);
        Editor editor = sharedPreferences.edit();
        editor.putString(String.valueOf(StarappApplicationVariable.INSTANCE.getUapUid()), phone);
        editor.commit();
    }
    
    /**
     * 获取当前用户是否已经绑定手机
     * 
     * <br>Created 2014年11月18日 上午10:31:46
     * @param context
     * @return
     * @author       wangds
     */
    public static boolean getIsBindUserPhone(Context context){
        SharedPreferences share = context.getSharedPreferences(SHARE_USER_PHONE,
                Context.MODE_PRIVATE);
        return !TextUtils.isEmpty(share.getString(String.valueOf(StarappApplicationVariable.INSTANCE.getUapUid()), ""));
    }
}
